package com.pureut.system.service;

import com.pureut.system.domain.SysDocument;
import com.pureut.system.domain.vo.SysDocumentVo;

import java.sql.SQLException;
import java.util.List;

/**
 * @Description
 * @Param
 * @return
 * @Date
 * @Author hl
 **/
public interface ISysDocumentService {

    /**
     * 查询单据配置
     *
     * @param sysDocument 单据配置
     * @return 单据配置
     */
    List<SysDocument> selectDocumentList(SysDocumentVo sysDocument);

    /**
     * 根据单据id详情
     * @param docId
     * @return
     */
    SysDocument selectDocumentListById(long docId);

    /**
     * 删除单据配置
     *
     * @param docId 单据配置
     * @return 单据配置
     */
    int deleteDocumentById(String docId);

    /**
     * 新增单据配置
     *
     * @param sysDocumentVo 单据配置
     * @return 单据配置
     */
    int insertDocument(SysDocumentVo sysDocumentVo) throws Exception;

    /**
     * 修改单据配置
     * @param sysDocumentVo 单据配置
     * @return 单据配置
     */
    int updateDocument(SysDocumentVo sysDocumentVo) throws SQLException;

    /**
     * 根据配置单据查询单据配置详情信息
     * @param docConfig
     * @return
     */
    SysDocument selectDocumentConfigById(Long docConfig);

    /**
     * 根据权限码返回生成编码
     * 远程调用接口
     */
    String selectAuthorityCoding(String docConfig) throws Exception;
}
